package com.earltech.vertdemo.socket;

import com.earltech.vertdemo.util.Runner;
import io.vertx.core.AbstractVerticle;
import io.vertx.core.buffer.Buffer;
import io.vertx.core.net.NetClient;
import io.vertx.core.net.NetClientOptions;
import io.vertx.core.net.NetSocket;
import io.vertx.core.parsetools.RecordParser;

import java.util.UUID;

/*
 * @author <a href="http://tfox.org">Tim Fox</a>
 */
public class TcpClient extends AbstractVerticle {

  // Convenience method so you can run it in your IDE
  public static void main(String[] args) {
    Runner.runExample(TcpClient.class);
  }

  @Override
  public void start() throws Exception {

    NetClientOptions options = new NetClientOptions().setConnectTimeout(10000).setReconnectAttempts(10).setReconnectInterval(500);

      NetClient client = vertx.createNetClient(options);

      client.connect(1234, "192.168.1.101", res -> {
        if (res.succeeded()) {
          System.out.println("Connected!");
          NetSocket socket = res.result();

          final int[] i = {0};

          final RecordParser parser = RecordParser.newDelimited("\n", h -> {
            System.out.println(h.toString());
          });

          socket.drainHandler(buffer -> {
            System.out.println("drainHandler");
          });

          socket.closeHandler(buffer -> System.out.println("closeHandler"));

          socket.endHandler(buffer -> System.out.println("endHandler"));

          socket.exceptionHandler(buffer -> System.out.println("连接终止异常"));

          socket.handler(buffer -> {
            parser.handle(buffer);
            i[0]++;
          });

//          String xx = "randomId:"+UUID.randomUUID()+"/"+"tag:sdfsdfxxxx/align:xxx/message:sldkfjsdf\n";
          String xx = "randomId:"+UUID.randomUUID()+"/"+"tag:sdfsdfxxx/align: /message:sldkfjsdf\n";

          socket.write(xx);
//            socket.write(UUID.randomUUID()+":"+"这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-\n这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复--这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复--这里是客户端，收到请回复--这里是客户端，收到请回复----这里是客户端，收到请回复------这里是客户端，收到请回复---这里是客户端，收到请回复------这里是客户端，收到请回复------这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复----这里是客户端，收到请回复-----这里是客户端，收到请回复------这里是客户端，收到请回复--这里是客户端，收到请回复----这里是客户端，收到请回复-这里是客户端，收到请回复--这里是客户端，收到请回复-这里是客户端，收到请回复-这里是客户端，收到请回复--这里是客户端，收到请回复--这里是客户端，收到请回复这里是客户端，收到请回复-这里是客户端，收到请回复--这里是客户端，收到请回复-这里是客户端，收到请回复--------这里是客户端，收到请回复-----------------------------------------------------------------------------------------!\n");


        } else {
          System.out.println("Failed to connect: " + res.cause().getMessage());
        }
      });
    }

}